#ifndef ADD_TWO_NUMBERS_LIST_H
#define ADD_TWO_NUMBERS_LIST_H
typedef struct node {
    int num;
    struct node *next;
    struct node *prev;
} Node;
typedef struct list {
    int size;
    Node *header;
    Node *tail;

    int (*add)(struct list *list, int num);

    void (*clear)(struct list *list);

    Node *(*get)(struct list *list, int index);

    int (*length)(struct list *list);
} List;

int add(List *list, int num);

void clear(List *list);

Node *get(List *list, int index);

int length(List *list);

void printList(List *list);

List *create();

#endif
